草庐IT

javascript - 如何在 PhantomJS 中测试 String.prototype.includes

全部标签

ruby - 如何设置方法测试中使用的私有(private)实例变量?

给定一个包含几个实例变量和一些方法的类。一些实例变量设置为可通过attr_reader和attr_accessor访问。因此其他的都是私有(private)的。一些私有(private)实例变量在一个实例方法中设置,并在另一个方法中读取/使用。我使用RSpec进行测试。由于我对Ruby还是个新手,并且希望把所有事情都做好,所以我将我的测试定义为相当细粒度的。因此,我为每个实例方法获得了一个describeblock,它们本身被划分为context和it的子集。一般环境先决条件用before定义。但是,当测试其中一种使用但未设置私有(private)变量的方法时,我需要调用另一种方法,即

ruby-on-rails - 我如何在 rake 任务中强制使用 RAILS_ENV?

我有这个小佣金任务:namespace:dbdonamespace:testdotask:resetdoENV['RAILS_ENV']="test"Rake::Task['db:drop'].invokeRake::Task['db:create'].invokeRake::Task['db:migrate'].invokeendendend现在,当我执行时,它将忽略我尝试硬编码的RAILS_ENV。我如何使这个任务按预期工作 最佳答案 对于这个特定的任务,您只需要更改数据库连接,正如Adam指出的那样,您可以这样做:namesp

ruby - 我应该如何在 Hashes 上使用 each_with_object?

我想在散列上使用each_with_object但不知道应该如何使用它。这是我所拥有的:hash={key1::value1,key2::value2}hash.each_with_object([]){|k,v,array|array是否可以在散列上使用each_with_object?如果是,语法是什么? 最佳答案 使用():hash.each_with_object([]){|(k,v),array|array 关于ruby-我应该如何在Hashes上使用each_with_obj

ruby - 在 Ruby (rspec) 中测试私有(private)方法

这个问题在这里已经有了答案:Howtospecaprivatemethod(4个答案)关闭9年前。是的,我知道,测试私有(private)方法不是一个好主意(而且我阅读此线程-http://www.ruby-forum.com/topic/197346-还有一些其他)但是我怎样才能测试下面的代码呢?我使用xmpp4r。在我的公共(public)方法#listen中,我开始接收jabber像这样的消息:deflisten@client.add_message_callbackdo|m|do_things_with_message(m)endendprivatedefdo_things_w

ruby-on-rails - 如何组织小型测试/单元测试?

在几个项目中使用RSpec之后,我尝试了minitest/unit。到目前为止我很喜欢它,但我想念使用描述/上下文block以逻辑方式对我的测试/规范进行分组。我知道minitest/spec提供了这个功能,但我喜欢minitest/unit感觉更接近准系统Ruby。是否有任何gem为minitest/unit提供描述/上下文支持?或者,我应该在minitest/unit中忍受我冗长、无组织的测试文件吗? 最佳答案 我知道有几个来自RSpec的人为了同一个问题而苦苦挣扎。他们喜欢使用describe/contextblock进行嵌套

ruby - 不区分大小写的数组#include?

我想知道使String.include?方法忽略大小写的最佳方法是什么。目前我正在做以下事情。有什么建议么?谢谢!a="abcDE"b="CD"result=a.downcase.include?b.downcase编辑:Array.include怎么样?。数组的所有元素都是字符串。 最佳答案 总结如果您只想针对一个数组测试单个单词,或者如果您的数组内容经常更改,最快的答案是Aaron的:array.any?{|s|s.casecmp(mystr)==0}如果您要针对静态数组测试许多单词,最好使用farnoy答案的变体:创建一个包含

ruby-on-rails - 我如何在 rake 中使用助手?

我可以在rake中使用辅助方法吗? 最佳答案 是的,你可以。您只需要需要帮助程序文件,然后将该帮助程序包含在您的rake文件中(实际上,帮助程序是我们可以包含的混合)。例如,我在app/helpers目录中有一个application_helper文件,其中包含:moduleApplicationHelperdefhi"hi"endend所以这是我的rake文件的内容:require"#{Rails.root}/app/helpers/application_helper"includeApplicationHelpernamesp

ruby - 如何在 Ruby 中编写复杂的多行 if 条件?

如何在Ruby中编写这个多行的复杂条件if语句?if((aa!=nil&&self.prop1==aa.decrypt)||(bb!=nil&&self.prop2==bb.decrypt))&&(self.id.nil?||self.id!=id)returntrueend我遇到语法错误;意外的tOROP。用Java,我可以写if(((aa!=null&&aa.prop1.equals(aa.decrypt()))||(bb!=null&&bb.prop2.equals(bb.decrypt())))&&(this.id!=id)){returntrue;}

ruby - 如何在 ruby​​ net/http 中实现 cookie 支持?

我想为使用net/http浏览网页的ruby​​类添加cookie支持。Cookie必须存储在文件中才能在脚本结束后继续存在。当然我可以阅读规范并编写某种处理程序,使用某种cookie.txt格式等等,但这似乎意味着重新发明轮子。有没有更好的方法来完成这个任务?也许是某种cooiejar类来处理cookie? 最佳答案 如果您的服务器返回并需要多个cookie,则接受的答案将不起作用。例如,如果服务器返回一组FedAuth[n]cookie,就会发生这种情况。如果这对您有影响,您可能需要考虑使用以下内容:http=Net::HTTP

ruby - 如何在没有 Rails 的情况下使用 RSpec?

在没有Rails的情况下使用RSpec在Ruby中执行TDD的过程是什么?我需要Gemfile吗?它只需要rspec吗?ruby1.9.3 最佳答案 过程如下:从控制台安装rspecgem:geminstallrspec然后创建一个包含以下内容的文件夹(我们将其命名为root):根目录/my_model.rbroot/spec/my_model_spec.rb#my_model.rbclassMyModeldefthe_truthtrueendend#spec/my_model_spec.rbrequire_relative'../